package com.qzsoft.zhjd.materiel.modules.materielapi.dto;

import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotBlank;


/**
 * @ClassName PlatformDataSendDto
 * @Description 磅单数据上报
 * @author linhuawei
 * @since 2022-04-06
 */
@Data
public class PlatformDataSendDto {

    @NotBlank(message = "流水号不可为空")
    private String WstID;// 流水号

    @NotBlank(message = "地磅编号不可为空")
    private String SiteNO;// 磅房编号

    @NotBlank(message = "操作员不可为空")
    private String OperatorID;// 操作员ID

    private String OperatorName;// 操作员名称

    private String WstType;// 流水类型

    private String WstTypeID;// 流水类型标识

    private String VLP;// 车牌号

    private String RSType;// 收发料类型

    private String RSTypeID;// 收发料类型标识

    private String ProviderName;// 供货单位

    private String AcceptorName;// 收货单位

    private String ProviderID;// 供料单位

    private String AcceptorID;// 用料单位、项目

    private String MaterialID;// 材料标识

    private String MaterailName;// 材料名称

    private String MaterailSpec;// 材料规格

    private String MatCategory;// 材料类别

    private String CalcUnit;// 计算单位

    private BigDecimal ConvRate;// 换算系数1吨= 立方

    private String UsePlace;// 使用位置

    private String RawBillNO;// 原始单据编号

    private BigDecimal InWeight;// 进场重量t

    private BigDecimal OutWeight;// 出场重量t

    private BigDecimal GrossWeight;// 毛重t

    private String GTime; // 毛重时间

    private BigDecimal TareWeight;// 皮重t

    private String TTime; // 皮重时间

    private BigDecimal SuttleWeight;// 净重t

    private BigDecimal RawBillNum;// 运单数量

    private BigDecimal RawBillWeight;// 运单重量t

    private BigDecimal DeductRate;// 扣量

    private BigDecimal DeductWeight;// 扣量吨

    private BigDecimal RealWeight;// 扣完后实际重量t

    private BigDecimal RealNum;// 扣完后实际数量

//    private BigDecimal PlusRate;// 正差%
//
//    private BigDecimal MinusRate;// 负差%

    private BigDecimal lowerLimit;// 负差%

    private BigDecimal upperLimit;// 正差%

    private BigDecimal RealOffset;// 实际偏差

    private String OffsetResult;// 偏差结果：0正常、1超正差、2超负差

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date InTime;// 入场时间yyyy-MM-dd hh:mm:ss

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date OutTime;// 出场时间yyyy-MM-dd hh:mm:ss

    private Integer Status;// 状态:0未出场、1已出场

    private Integer PrintCnt;// 打印次数

    private Integer Disposed;// 是否已作废：0否、1是
    
    private String Reason;// 作废原因

    private String Remark;

}
